Over the last decade, cellular carriers have developed an increasing number of services to support mobile applications. These services include, for example, mobile presence services, location-based services, multimedia messaging service (MMS), short message service (SMS) messaging, etc. These services have traditionally been accessed by very well-defined carrier-supported services.
In the last few years, carriers have implemented Application Programming Interfaces (APIs) that provide a front-end to these services. APIs allow servers in the cloud to fulfill requests from the mobile applications.
Most current mobile applications are client/server based, such that applications running on mobile communication devices are typically responsible for passing the API parameters to the API servers that fulfill the API requests. Currently, no network context is taken into account in determining which API server may be best suited to fulfill an API request. Rather, the API request from mobile communication device is simply routed to any API server that can fulfill the request.